package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;
import org.jsola.hr.dto.CompanyTypeDTO;

import java.util.Date;
import java.util.List;

import static org.jsola.core.example.BaseExample.E_GMT_CREATE;
import static org.jsola.core.example.BaseExample.E_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.E_ID;
import static org.jsola.core.example.BaseExample.N_GMT_CREATE;
import static org.jsola.core.example.BaseExample.N_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.N_ID;
import static org.jsola.hr.example.PolicyCourierExample.E_ANNEX;
import static org.jsola.hr.example.PolicyCourierExample.E_COMPANY_PERMISSIONS;
import static org.jsola.hr.example.PolicyCourierExample.E_COMPANY_PERMISSIONS_JSON;
import static org.jsola.hr.example.PolicyCourierExample.E_CONTENT;
import static org.jsola.hr.example.PolicyCourierExample.E_CONTENT_HAS_STYLE;
import static org.jsola.hr.example.PolicyCourierExample.E_POLICY_LEVEL;
import static org.jsola.hr.example.PolicyCourierExample.E_SORT;
import static org.jsola.hr.example.PolicyCourierExample.E_TITLE;
import static org.jsola.hr.example.PolicyCourierExample.E_TYPE_CODE;
import static org.jsola.hr.example.PolicyCourierExample.N_ANNEX;
import static org.jsola.hr.example.PolicyCourierExample.N_COMPANY_PERMISSIONS;
import static org.jsola.hr.example.PolicyCourierExample.N_COMPANY_PERMISSIONS_JSON;
import static org.jsola.hr.example.PolicyCourierExample.N_CONTENT;
import static org.jsola.hr.example.PolicyCourierExample.N_CONTENT_HAS_STYLE;
import static org.jsola.hr.example.PolicyCourierExample.N_POLICY_LEVEL;
import static org.jsola.hr.example.PolicyCourierExample.N_SORT;
import static org.jsola.hr.example.PolicyCourierExample.N_TITLE;
import static org.jsola.hr.example.PolicyCourierExample.N_TYPE_CODE;

/**
 * 政策速递
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【政策速递】列表展示对象")
@Data
public class PolicyCourierListVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private String id;

    @ApiModelProperty(notes = N_TITLE, example = E_TITLE)
    private String title;

    @ApiModelProperty(notes = N_TYPE_CODE, example = E_TYPE_CODE)
    private String typeCode;

    @ApiModelProperty(notes = N_ANNEX, example = E_ANNEX)
    private String annex;

    @ApiModelProperty(notes = N_POLICY_LEVEL, example = E_POLICY_LEVEL)
    private String policyLevel;

    @ApiModelProperty(notes = N_CONTENT, example = E_CONTENT)
    private String content;

    @ApiModelProperty(notes = N_CONTENT_HAS_STYLE, example = E_CONTENT_HAS_STYLE)
    private String contentHasStyle;

    @ApiModelProperty(notes = N_SORT, example = E_SORT)
    private Integer sort;

    @ApiModelProperty(notes = N_COMPANY_PERMISSIONS, example = E_COMPANY_PERMISSIONS)
    private String companyPermissions;

    @ApiModelProperty(notes = N_COMPANY_PERMISSIONS_JSON, example = E_COMPANY_PERMISSIONS_JSON)
    private String companyPermissionsJson;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private Date gmtCreate;

    @ApiModelProperty(notes = N_GMT_MODIFIED, example = E_GMT_MODIFIED)
    private Date gmtModified;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private String createTime;

    @ApiModelProperty(notes = "用工单位及分组id的权限列表")
    private List<String> groupAndCompanyIdList;

    @ApiModelProperty(notes = "用工单位及分组id的权限字符串")
    private String permissionsAdd;

    @ApiModelProperty(notes = "用工单位或分组列表")
    List<CompanyTypeDTO> companyTypeList;
}

